Computer software applications may be configured for the editing of rich content in an electronic document. For example, an electronic document (e.g., a web page) may contain both text and non-text content (i.e., graphics). In order for a user to edit text surrounding the non-text content, the aforementioned software applications generate a text box for a user to enter characters. Each time a user makes a keystroke in the text box, a new character is found and inserted into the electronic document for viewing by the user. The text box is then cleared for the next character to arrive. Thus, each time a character is entered into the text box by a user, the text box is cleared for entry of a subsequent character. Text entry continues in this manner until the user has completed entry of a desired word, sentence or paragraph. The aforementioned text entry method for rich content however, suffers from a number of drawbacks. For example, one drawback is that because text is cleared from the text box after the entry of each character, a state of the intended text entry (e.g., a word, sentence or paragraph) is not maintained. This interferes with external software tools that expect to view a full text entry (e.g., a word, sentence or paragraph) which would normally be viewed by a user (and thus need to maintain state). In particular, input method editor (“IME”) and screen reader tools will not function when typed text is interfered with in this manner. For example, IME software enables users to input text in a language made up of complex sets of glyphs (e.g., Chinese) on keyboards that do not support the full range of symbols for the language and thus require several keystrokes to represent a single character. Since current text editors for rich content do not maintain state, the editing of characters comprising multiple glyphs may not be accomplished. It is with respect to these considerations and others that the various embodiments of the present invention have been made.